A technique called a thick provisioning method has been known where an entire volume a user has requested so as to store data is allocated to a physical storage including a physical disk space of a finite volume, from the beginning. In the thick provisioning method, since the entire requested volume is allocated independently of a volume to be actually used, the physical storage may not be effectively used.
On the other hand, a technique called a thin provisioning method has been known where, instead of an entire volume a user has requested being allocated from the beginning, a volume to be actually used for storing data is allocated. In the thin provisioning method, a physical disk space included in a storage is divided in units of small areas each of which is called a block (for example, 512 KB), and an available area is arbitrarily allocated with respect to each one block, as desired. In other words, the allocated volume is gradually scaled in a unit of one block in response to the data amount of data to be actually stored. For example, when a virtual disk of 100 GB is created, an area of the number of blocks corresponding to a volume in which the data is actually stored is allocated without an area of 100 GB being physically allocated at the same time as the creation.
Incidentally, in the thin provisioning method, while it may be possible to effectively use a physical storage, areas allocated to individual users are dispersed on the physical disk space. Therefore, in some cases, I/O performance is deteriorated compared with a technique of the thick provisioning method.
Therefore, a technique has been known where a fixed number of blocks are reserved in a physical disk space at the time of the creation of a virtual disk. In this technique, when a virtual disk is created in a physical storage having a physical disk space of a finite volume, a fixed number of blocks are reserved.
In addition, a technique has been known where when the thin provisioning method is applied, an improvement in performance is achieved in a case in which different I/O patterns exist with respect to one logical disk. In this technique, data is written into a storage in which a virtual logical disk is constructed, with a data area being reserved in response to a write request. At this time, in response to an I/O pattern of data of a sequential I/O or a random I/O, a policy assigned to one logical disk is changed, and a fixed block is allocated. Furthermore, a technique has been known where when a file in a filing system managing a program and data is created, the physical continuity of physical blocks configuring the file is secured. In this technique, when a physical block may be successively extended immediately after an area reserved first at the creation of the file, a spare block is expanded.
As techniques of the related art, Japanese Laid-open Patent Publication No. 2010-282608, Japanese Laid-open Patent Publication No. 2010-086420, and Japanese Laid-open Patent Publication No. 2-077949 have been known.
The volume of data to be stored in a storage changes from moment to moment. Accordingly, it is insufficient that, with respect to a physical disk space, an area (block) to be allocated on the physical disk space is considered with fixed timing, for example, only at the time of the creation of a virtual disk or at the time of the creation of a file. In addition, to allocate a fixed area to the physical disk space is insufficient for dealing with the volume of data to be stored in the storage, which changes from moment to moment.